package cn.me.alphamq.common.transaction;

import cn.me.alphamq.common.entity.Message;
import cn.me.alphamq.common.enumeration.LocalTxStateEnum;

/**
 * 事务的监听器
 *
 * @author f
 */
public interface TransactionListener {

    /**
     * 执行本地事务的回调接口
     *
     * @param message 事务消息
     * @return 事务的状态
     */
    LocalTxStateEnum executeLocalTransaction(final Message message);

    /**
     * 检查本地事务状态的回调接口
     *
     * @param message 事务消息
     * @return 事务的状态
     */
    LocalTxStateEnum checkLocalTransaction(final Message message);
}
